#pragma once
#include "NeroEngine\NResourceManagerh.h"

namespace Graphics
{
	class Material;
}
namespace Graphics
{

template<class T>
void CreateMaterialResource(T** resource, const unsigned int handle, const std::string& instanceName, const std::string& filePath)
{
	*resource = MY_NEW(Memory::HID_Rendering,"MateriaResource") T(instanceName, filePath);
}

class MaterialResourceManager : public Engine::NResourceManager<Graphics::Material>
{
public:
	MaterialResourceManager(void);
	virtual ~MaterialResourceManager(void);
	static void Initialize();
	static void Deinitialize();
	static MaterialResourceManager* GetInstance();
private:
	static MaterialResourceManager* sInstance;
};
}